package comp9417;

/**
 * Created by huy on 22/05/14.
 */
public interface AttributeType {
    public static final AttributeType CONTINUOUS = new ContinuousType();
    public static final AttributeType CATEGORICAL = new CategorialType();

    public double difference(Object v1, Object v2, Attribute attribute);

    public Object predict(Classifier classifier, DataPoint point, int k);

    public Object predictWeighted(Classifier classifier, DataPoint point, int k);

    void prune(Attribute attribute);

    Object prunedValue(Attribute regressionAttribute);

    void addValueToDatapoint(Attribute attribute, DataPoint dataPoint, int index, String[] points);
}
